Contextual and differentiated augmented-reality worlds

ABSTRACT

A cohort associated with a user is identified. A virtual object is generated according to the cohort. An augmented reality setting of a location is generated in relation to the user. A context of the location is determined. The virtual object is modified in the augmented reality setting according to the context and the cohort.

BACKGROUND

The present disclosure relates to augmented reality, and morespecifically, to differentiating augmented reality experiences accordingto characteristics of the user and the location.

Augmented reality (AR) systems provide a view of a live real-worldenvironment with virtual additions, or “augmentations,” which may becomputer-generated or extractions of real-world sensory input. Many ARtechniques work in real-time and may be immersive, providing contextualdata, interactive gameplay, or instruction for a user. Many modernmobile devices are able to generate AR settings for various uses.

SUMMARY

According to embodiments of the present disclosure, a method of creatingdifferentiated augmented reality settings is described. A cohortassociated with a user is identified. A virtual object is generatedaccording to the cohort. An augmented reality setting of a location isgenerated in relation to the user. A context of the location isdetermined. The virtual object is modified in the augmented realitysetting according to the context and the cohort.

A computing system and computer program product can embody the methodand structures of the disclosure. The computing system can comprise anetwork, a memory configured to store context and cohort data, and aprocessor in communication with the memory. The computing system can beconfigured to perform the method.

The above summary is not intended to describe each illustratedembodiment or every implementation of the present disclosure.

BRIEF DESCRIPTION OF THE DRAWINGS

The drawings included in the present application are incorporated into,and form part of, the specification. They illustrate embodiments of thepresent disclosure and, along with the description, serve to explain theprinciples of the disclosure. The drawings are only illustrative ofcertain embodiments and do not limit the disclosure.

FIG. 1 depicts a block diagram of an example augmented reality system,according to embodiments of the present disclosure.

FIG. 2A depicts a flowchart of an example method for rendering acontextual augmented reality experience, according to embodiments of thepresent disclosure.

FIG. 2B depicts a flowchart of an example method for renderingcontextual and differentiated augmented reality experiences, accordingto embodiments of the present disclosure.

FIG. 3A depicts an example of differentiated augmented realityexperiences, according to embodiments of the present disclosure.

FIG. 3B depicts an example of differentiated augmented realityexperiences that have been regularized, according to embodiments of thepresent disclosure.

FIG. 4 depicts an example of an augmented reality experience providingcourse direction, according to embodiments of the present disclosure.

FIG. 5 depicts a high-level block diagram of an example computer systemused in implementing one or more of the methods or modules described, inaccordance with embodiments of the present disclosure.

While the invention is amenable to various modifications and alternativeforms, specifics thereof have been shown by way of example in thedrawings and will be described in detail. It should be understood,however, that the intention is not to limit the invention to theparticular embodiments described. On the contrary, the intention is tocover all modifications, equivalents, and alternatives falling withinthe spirit and scope of the invention.

DETAILED DESCRIPTION

Aspects of the present disclosure relate to augmented reality, moreparticular aspects relate to differentiating augmented realityexperiences according to characteristics of the user and the location.While the present disclosure is not necessarily limited to suchapplications, various aspects of the disclosure may be appreciatedthrough a discussion of various examples using this context.

Popular mobile Augmented Reality (AR) experiences, such as mobilegaming, provide users with motivation to engage in physical activity andopportunities for social interactions. However, the nature of thesegames can lead to the exclusion of some gamers. Existing AR systemsfailure to account for the potential physical and cognitive limitationsof some users, making the games unenjoyable or prohibitively difficultfor some players.

Disclosed herein is a system, method, and computer program product forcreating differentiated augmented reality experiences. The systemincludes a memory and a processor configured to perform a method asdescribed below.

Disclosed herein is a method for generating and modifying augmentedreality settings according to a user's cohort and a location's context.A cohort is identified as being associated with a user. The cohort maybe formed according to a social network, a user characteristic, or agroup determined according to geographic proximity. The usercharacteristic may describe a cognitive or physical challenged faced bythe user, and the associated cohort may be formed of individuals whoface similar challenges. The cohort may be determined, for example,according to a user profile, a social network analysis, detection of anassistive technology, or data received from a biometric sensor. Inembodiments, the user characteristic may be part of the user profile.

A virtual object is generated according to the user's cohort. Thevirtual object may be, for example, a game character, a game targetobject, a virtual device, a virtual opponent, or a virtual collaborator.In embodiments, the virtual object may be an object of desire, which auser would pursue as part of gameplay.

A context of the real-world location the user occupies is determined andan augmented reality setting of the location is generated in relation tothe user and the context. The context may be, for example, elevation oraltitude and latitude/longitude of the location, the weather associatedwith the location, a terrain characteristic of the location, a currenttime of day, or a current level of illumination at the location. Inembodiments, the system may further comprise an infrared sensor, whichmay provide additional context information of the location, such asproviding data on obstacles at the location when the level ofillumination falls below a predetermined threshold. In embodiments, adrone may be dispatched to provide aerial context of the location or aglobal positioning system (GPS) integrated with the AR device or systemmay provide location context information.

The virtual object is positioned in the augmented reality settingaccording to the context and the cohort. The virtual object may have alocation, a path and a speed. The path and speed of the virtual objectmay be variable and determined according to the cohort. The nature andpresentation of the virtual object may be determined according tocohort. In embodiments, different cohorts may engage in differentconfigurations of gameplay and interact with different renderings ofvirtual objects. Different cohorts may have different settings regardingthe placement of virtual objects with consideration to real worldobstacles. Real-world obstacles may be processed by the system as acomponent of the location context.

In embodiments, a second user may be detected in near proximity to afirst user. Each of the first user and the second user may be identifiedas being associated with a first cohort, and the second user only may befurther identified as being associated with a second cohort. Forexample, the first and second user may each be identified as beingassociated with a first cohort according to a shared social networkgroup. The second user may be further identified as being associatedwith a second cohort according to a user characteristic in the seconduser's profile, e.g., the second user may use a wheelchair for mobility.

The virtual object may be modified in the augmented reality setting,perceived by the first and second user using their respective ARdevices, according to the context and the second cohort. Referring againto example above, the first and second user are each associated with afirst cohort. The virtual object may be generated and positionedaccording to the first cohort. In this example the first cohort is asocial network group, and the first and second user may be engaged in acompetitive game through the social network group. The first and seconduser may be competing to collect the virtual object. If the virtualobject is placed with only consideration to the first cohort, it may beplaced, for example, on a set of stairs, and thus be inaccessible to thesecond user, who relies on a wheelchair. The disclosed system willdetect that the second user, while sharing the first cohort with thefirst user and engaging in shared gameplay with the first user, is alsoassociated with the second cohort, e.g., using a wheelchair. The systemmay accordingly reposition the virtual object in the augmented realitysetting, with consideration to the context of the real world location,e.g., the placement of real world stairs, so that the virtual object isequally accessible to both the first and second users.

In embodiments, additional virtual objects may be generated. Theadditional virtual objects may be positioned in the augmented realitysetting according to a location context and a user cohort. Theadditional virtual objects may serve, for example, to increase thedensity of the virtual objects in a given location. In embodiments, avirtual attribute of the virtual object may be changed according to asecond (or third, etc.) cohort of a user. The virtual attribute may be,for example, an object behavior, an object response, or the rendered“weight” of a virtual object (e.g., experienced by the user throughhaptics or the object's perceived “resistance” to being lifted/moved,etc.).

In embodiments, a second user may be detected in near proximity to afirst user and that second user may be identified as not beingassociated with the first cohort with which the first user isassociated. The second user may be associated with a second cohort, andthe first user determined to not be associated with the second cohort.Accordingly, a second virtual object may be generated, according to thesecond cohort, and positioned in a second augmented reality setting,experienced by the second user, according to the location context andthe second cohort. When the first and second user are in near proximityto one another in the real world, and thus each of the first and secondaugmented reality settings is being displayed according to the same realworld location and location context, an inconsistency between the firstand second augmented reality setting may be predicted. The first andsecond virtual object may be regularized according to the predictedinconsistency.

For example, a first and second user may converge on a common location,each in pursuit of a different virtual object according to the first andsecond cohort. The first user may be in pursuit of a first object, e.g.,a cup, and the second user may be in pursuit of a second object, e.g., asword. Due to the first and second augmented reality settings beinggenerated according to different cohorts, each user may not be able tosee the object pursued by the other user, despite being able to see oneanother in the real world. In this example, the first and second usermay be able to see one another and observe that each is participating inan augmented reality game, but the first user will be unable to see thesword and the second user will be unable to see the cup. Rather thanleaving both users to wonder if their gameplay is compromised (e.g., whythe first user is able to interact with a virtual object not appearingon the second user's augmented reality setting), the inconsistencybetween the first and second augmented reality setting may be predicted,and the first and second object regularized. For example, the sword maycome into view for the first user and the cup may come into view for thesecond user. In embodiments, a user may not be able to interact withobjects intended for gameplay in cohorts which the user is not a partof, and regularization of the objects may encourage real worldinteraction between users of different cohorts.

In embodiments, the user may be traveling along a course and a virtualobject may be positioned according to a checkpoint associated with thecourse. For example, a user may be hiking on a trail, and virtualobjects may be placed periodically along the trail to provide the userwith guidance and motivation. Alternatively, a virtual object may betraveling along a predetermined path in an augmented reality setting,the path correlating to a trail in a real world location, at apredetermined speed. The user may hike or run the real world trail byfollowing or chasing the virtual object in the augmented realitysetting. In embodiments, virtual attributes of the virtual objects maybe adjusted according to a user's cohort and characteristics. Forexample, virtual objects placed as checkpoints along a trail may beplaced closer together for a user in a cohort associated with visualdeficiencies or a user having historical data indicating the userbenefits from greater reinforcement. As another example, the speed of avirtual object traveling along a predetermined path may be reduced for auser in a cohort associated with respiratory problems, or the path ofthe virtual object may be adjusted to allow to user to travel at a loweraltitude.

In embodiments, historical data associated with the location and thecohort may be collected and saved. A virtual object in the augmentedreality setting may be positioned according to the historical data. Forexample, by collecting and analyzing historical data, it may bedetermined that users of a particular cohort tend to congregate in aparticular area. A group of users may belong to a cohort of coworkers,and may tend to congregate in a break area where they work, or at anearby restaurant. The density of virtual objects may be accordinglyincreased or decreased at such a location, according to a set of systemsettings. The set of system settings may be set to encouragesocialization among the coworkers, in which case the density of virtualobjects may be increased at points of congregation. Alternatively, thesettings may be set to encourage increased physical activity by themembers of the cohort, in which case the virtual objects may bedispersed to encourage members of the cohort to travel from points ofcongregation.

Referring now to FIG. 1, depicted is a block diagram of an exampleaugmented reality system 100, according to embodiments of the presentdisclosure. In embodiments, components of the block diagram may bemodules in a processor, data items stored in a database or memory, orinput/output devices.

The system 100 comprises sensory input devices, such as camera 102depicted in this example. In embodiments, the sensory input device maybe a camera, a microelectromechanical sensor (e.g., an accelerometer, aGPS, a compass), etc. Camera 102 may include infrared imaging. Camera102 may be a remote device, e.g., a drone.

The sensory input device, such as camera 102, may feed sensory inputdata into an acquisition module 104. The acquisition module 104 mayserve to convert the sensory data acquired by camera 102 into a formatthat may be handled by the rendering module 108 to produce the augmentedimage 110.

The acquisition module 104 may feed data into a context module 116. Thecontext module 116 may take image and other sensor date processed byacquisition module 104 and extract and store relevant context dataregarding the real-world location. Determining context data may includeidentifying obstacles and hazards, measuring inclines and ambient light,etc.

The context module 116 may provide data to a virtual component module114. The virtual component module 114 may additionally receive inputfrom profile data 118 and cohort data 120. In embodiments, profile data118 and cohort data 120 may be acquired separately or from the samesource. Profile data 118 and cohort data 120 may be stored on anintegrated database or memory, or may be stored remotely and retrievedby the virtual component module 114 as necessary. In embodiments,profile data 118 may be input by the user or extracted from anothersource, e.g., a social network profile. Cohort data 120 may bepredetermined and entered as system settings, or may be determinedaccording to profile data 118. Profile data 118 and cohort data 120 mayinclude historical data relating to a user's gameplay, use of the ARsystem, changes to the system settings, feedback, etc.

The acquisition module 104 may provide data to a tracking module 106.The tracking module 106 may provide real-time data related the user'schanging view of the real-world setting and movement of real-worldobjects in the setting.

A rendering module 108 may receive data from the acquisition module 104,from the tracking module 106, and from the virtual component 114. Therendering module 108 may serve to integrate a virtual component, e.g., avirtual object, into a real world scene provided by the acquisitionmodule 104. Data from the tracking module 106 may provide for real-timeadjustment to the rendered AR experience based on user or devicemovement. Data from tracking module 106 may assist in the renderingmodule 108 in rendering virtual objects in motion, so that the virtualobject's path and speed integrate effectively with the real-worldsetting.

The rendered AR experience may be output by the rendering module 108 asan augmented image 110. The augmented image may be a digital image orprojection, or a line-of-sight view of a real world setting, withincorporated or overlaid virtual elements.

The augmented image 110 may be presented to the user via a display 112.The display 112 may be any of an optical projection system, a monitor, ahand held device (e.g., a mobile phone or a tablet), or a display systemworn on the body (e.g., a head-mounted display or AR eyeglasses).

Referring now to FIG. 2A, depicted is a flowchart of an example method200 for rendering a contextual augmented reality experience, accordingto embodiments of the present disclosure. In embodiments, the method 200may be performed by one or more processors in an AR device, such as by asystem using modules like those depicted in system 100 of FIG. 1. It isto be understood that the steps of the method 200 may be performed inany order, and the order of operations in FIG. 2A is but one example.

At operation 204, a user's cohort is identified. The user's cohort maybe any of a social network, a user characteristic (e.g., a player havingcognitive or physical challenges), geographic proximity, a commonemployer or team affiliation, friends, family, etc. The user's cohortmay be determined according to a user profile, a social networkanalysis, detection of an assistive technology (e.g., a wheelchair),detection of biometric sensing (e.g., of tremors or muscle fatigue),etc. For example, a user with muscular dystrophy may be associated witha cohort according to their use of a wheelchair and biometric sensing ofperiodic respiratory distress (e.g., accelerated heart rate). Anotheruser may also use a wheelchair due to a spinal injury, and thus not havesigns of periodic respiratory distress, and may therefore occupy adifferent cohort.

At operation 206, a virtual object is generated according to the user'scohort. The virtual object may be determined by the system, device, orapplication the user is accessing the AR experience through, as well asthe user's cohort. The user may belong to one or more cohorts, and eachof the one or more cohorts may have different configurations for the ARexperience, leading to the generation of multiple virtual objects. Eachof the multiple virtual objects may be used in the AR setting, orvirtual objects from a particular cohort may be prioritized over virtualobjects from other cohorts according to the user's settings or otherdata. For example, a user may belong to a first cohort according to asocial network group and a second cohort according to a usercharacteristic, e.g., the user has Ehlers-Danlos syndrome and is limitedto how much walking they can do. Virtual objects associated with thesecond cohort may be more densely arranged around the user's location,to account for the shorter walking distances suited to the members ofthe second cohort. In embodiments, the system may monitor the user'sgameplay for frequency and duration, and prioritize generation ofvirtual objects from the second cohort if the user engages in extendedgameplay and shows signs of fatigue (e.g., via biometric sensing). Inembodiments, multiple virtual objects may be generated for a singlecohort.

At operation 208, an augmented reality setting of a real world locationis generated. The AR setting may be generated according to a context ofthe location, determined at operation 210. The context of the locationmay include what kind of physical location (e.g., indoor or outdoor),elevation (e.g., stairs or an incline), altitude, weather, terraincharacteristic (e.g., obstacles or trip hazards), day of the week (e.g.,with consideration to expected density of people), time, illuminationlevel, etc.

At operation 212, the virtual objet is positioned in the AR settingaccording to the context and the cohort. For example, a first user maybelong to a first cohort. The first cohort may be associated with usershaving average health and fitness. Virtual objects generated accordingto the first cohort may be positioned randomly, e.g., withoutconsideration to elevation or obstacles. A second user may belong to asecond cohort. The second cohort may be associated with users havingvision related disabilities. Virtual objects generated according to thesecond cohort may be placed with consideration to illumination level andterrain characteristics, e.g., placed in well-lit areas with fewobstacles. Alternatively, virtual objects generated according to thefirst cohort may be placed in areas with low light, to simulate thechallenge faced by users of the second cohort, and/or objects generatedaccording to the first cohort may be partially transparent, or havecloaking or camouflaging characteristics.

Referring now to FIG. 2B, depicted is a flowchart of an example method201 for rendering contextual and differentiated augmented realityexperiences, according to embodiments of the present disclosure. It isto be understood that the depicted organization of the method 201 asincluding only two users as depicted in FIG. 2B is to be non-limiting,as the process may be executed with any number of users and cohorts.

At operation 214, a second user is detected in near proximity to a firstuser. The first user may be the user of the method 200 in FIG. 2A. Thefirst user may be assumed to belong to a first cohort. Proximity may bedetermined according to a predetermined threshold, and may be saved insettings for the AR program or application, for the device, or the ARsystem. Detecting the second user may comprise the first and seconduser's individual devices searching for signals from other usersengaging the same AR program, a central system tracking the locations ofusers engaging the AR program, use of a device's or system's (GPS), etc.

At operation 216, the second user is determined to belong to a secondcohort. In embodiments, the first user may or may not belong to thesecond cohort. In this example, the second cohort is a cohort associatedwith the second user but not the first user. At decision block 218, itis determined whether the second user also belongs to the first cohort.

If, at decision block 218, the second user is determined to beassociated with the first cohort, and therefore shares a cohort with thefirst user, then the first virtual object, the virtual object associatedwith the first cohort, may be repositioned according to the secondcohort, shown as at operation 220. For example, each of the first andsecond user may belong to a first cohort according to a shared socialnetwork group. The settings of the first cohort may assume users ofaverage health and fitness, and therefore place virtual objectsgenerated according to the first cohort without consideration toelevation, terrain characteristics, etc. The second user mayadditionally belong to a second cohort to which the first user does notbelong. The settings of the second cohort may be tailored to users whorely upon a wheelchair for mobility, and may cause virtual objectspursued by users of the second cohort to be repositioned, or modified,with consideration to elevation, obstacles, etc.

If, at decision block 218, it is determined that the second user doesnot belong to the first cohort, and therefore does not share a cohortwith the first user, then a second virtual object may be generatedaccording to the second cohort, as at operation 222. In embodiments, thesecond user may belong to any number of cohorts which the first userdoes not belong to, and the second virtual object may generatedaccording to any one or any combination of cohorts, according to thesecond user's settings.

At operation 224, an inconsistency between the AR experiences of thefirst and second user is predicted according to the configurations ofthe first and second cohorts. An inconsistency may include anydifference between the AR settings and objects experienced by each ofthe first and second user. The inconsistency may be predicted by thesystem comparing the rendering of each user's AR experience anddetermining that a difference exists. For example, a first and seconduser may be in near proximity to one another such that they share acommon real-world setting for their AR experiences. The first user maybelong to a first cohort and see a first virtual object positioned in afirst location in the real-world setting. The second may belong to asecond cohort and see a second virtual object in a second location inthe real-world setting, but not the first virtual object. Likewise, thefirst user may not see the second virtual object. The system may detectthat each of the first and second users are seeing a common real-worldsetting, but with different virtual objects in different locationswithin the setting.

At operation 226, the first and second virtual objects are regularized.Regularized may be understood to mean smoothing the inconsistencybetween the two AR experiences, so that users in near proximity to oneanother may share a common AR experience without compromising theindividual tailoring to each user's unique characteristics. To continuethe example above, as the system regularizes the two users' ARexperiences, the first user may see the second virtual object come intoview in the second location. Likewise, the second user may see the firstvirtual object come into view in the first location. In embodiments,each system may also respond to detecting the other user and receivingthe data associated with the other user's cohorts. For example, if thesecond user belongs to a cohort associated with a physical challenge andthe first user does not, the first user's AR experience may incorporatea handicap to simulate the challenge experienced by the second user inengaging with the gameplay. For example, if the second user belongs to acohort associated with muscle tremors, the first user's device may usehaptics to produce a “tremor” in the first user's gameplay. In anotherexample, if the second user belongs to a cohort associated with visualdeficiencies, the first user's device or system may darken the ARsetting, or give the setting an appearance of being out of focus.

FIG. 3A depicts an example of differentiated augmented realityexperiences, according to embodiments of the present disclosure. A realworld setting 302 is depicted with a real world obstacle 308. A firstcohort AR setting 304 is depicted with a first cohort virtual object310, corresponding in location to the real world obstacle 308. A secondcohort AR setting 306 is depicted with a second cohort virtual object312, not corresponding in location to the real world obstacle 308. Firstcohort AR setting 304 and second cohort AR setting 306 may both beunderstood to correspond to real world setting 302.

FIG. 3B depicts an example of differentiated augmented realityexperiences that have been regularized, according to embodiments of thepresent disclosure. A real world setting 302 is depicted with a realworld obstacle 308. A first cohort AR setting 304 is depicted with afirst cohort virtual object 310, corresponding in location to the realworld obstacle 308 in the real world setting 302. First cohort ARsetting 304 may be understood to be an AR setting integrated with realworld setting 302. First cohort AR setting 304 may further comprise aregularized rendering 316 of second cohort virtual object 312. Secondcohort virtual object 312 may be part of second cohort AR setting 306,which may further comprise a regularized rendering 314 of first cohortvirtual object 310.

Referring now to FIG. 4, depicted is an example of an augmented realityexperience providing course direction, according to embodiments of thepresent disclosure. A real world setting 402 is depicted, includingcourse 403. Course 403 includes, in this example, two checkpoints 408and 410. Also depicted are AR settings 404 and 406, which may beunderstood to correspond to real world setting 402. AR setting 404depicts two virtual objects, 412 and 414, corresponding in location toreal world check points 408 and 410. AR setting 406 depicts a virtualobject 416, shown in motion from a point corresponding to check point408 to a point corresponding to checkpoint 410.

Referring now to FIG. 5, shown is a high-level block diagram of anexample computer system (i.e., computer) 500 that may be used inimplementing one or more of the methods or modules, and any relatedfunctions or operations, described herein (e.g., using one or moreprocessor circuits or computer processors of the computer), inaccordance with embodiments of the present disclosure. In someembodiments, the major components of the computer system 500 maycomprise one or more CPUs 502, a memory subsystem 504, a terminalinterface 512, an I/O (Input/Output) device interface 514, a storageinterface 516, and a network interface 518, all of which may becommunicatively coupled, directly or indirectly, for inter-componentcommunication via a memory bus 503, an I/O bus 508, and an I/O businterface unit 510.

The computer system 500 may contain one or more general-purposeprogrammable central processing units (CPUs) 502A, 502B, 502C, and 502D,herein generically referred to as the CPU 502. In some embodiments, thecomputer system 500 may contain multiple processors typical of arelatively large system; however, in other embodiments the computersystem 500 may alternatively be a single CPU system. Each CPU 502 mayexecute instructions stored in the memory subsystem 504 and may compriseone or more levels of on-board cache.

In some embodiments, the memory subsystem 504 may comprise arandom-access semiconductor memory, storage device, or storage medium(either volatile or non-volatile) for storing data and programs. In someembodiments, the memory subsystem 504 may represent the entire virtualmemory of the computer system 500, and may also include the virtualmemory of other computer systems coupled to the computer system 500 orconnected via a network. The memory subsystem 504 may be conceptually asingle monolithic entity, but, in some embodiments, the memory subsystem504 may be a more complex arrangement, such as a hierarchy of caches andother memory devices. For example, memory may exist in multiple levelsof caches, and these caches may be further divided by function, so thatone cache holds instructions while another holds non-instruction data,which is used by the processor or processors. Memory may be furtherdistributed and associated with different CPUs or sets of CPUs, as isknown in any of various so-called non-uniform memory access (NUMA)computer architectures. In some embodiments, the main memory or memorysubsystem 504 may contain elements for control and flow of memory usedby the CPU 502. This may include a memory controller 505.

Although the memory bus 503 is shown in FIG. 5 as a single bus structureproviding a direct communication path among the CPUs 502, the memorysubsystem 504, and the I/O bus interface 510, the memory bus 503 may, insome embodiments, comprise multiple different buses or communicationpaths, which may be arranged in any of various forms, such aspoint-to-point links in hierarchical, star or web configurations,multiple hierarchical buses, parallel and redundant paths, or any otherappropriate type of configuration. Furthermore, while the I/O businterface 510 and the I/O bus 508 are shown as single respective units,the computer system 500 may, in some embodiments, contain multiple I/Obus interface units 510, multiple I/O buses 508, or both. Further, whilemultiple I/O interface units are shown, which separate the I/O bus 508from various communications paths running to the various I/O devices, inother embodiments some or all of the I/O devices may be connecteddirectly to one or more system I/O buses.

In some embodiments, the computer system 500 may be a multi-usermainframe computer system, a single-user system, or a server computer orsimilar device that has little or no direct user interface, but receivesrequests from other computer systems (clients). Further, in someembodiments, the computer system 500 may be implemented as a desktopcomputer, portable computer, laptop or notebook computer, tabletcomputer, pocket computer, telephone, smart phone, mobile device, or anyother appropriate type of electronic device.

It is noted that FIG. 5 is intended to depict the representative majorcomponents of an exemplary computer system 500. In some embodiments,however, individual components may have greater or lesser complexitythan as represented in FIG. 5, components other than or in addition tothose shown in FIG. 5 may be present, and the number, type, andconfiguration of such components may vary.

The present invention may be a system, a method, and/or a computerprogram product at any possible technical detail level of integration.The computer program product may include a computer readable storagemedium (or media) having computer readable program instructions thereonfor causing a processor to carry out aspects of the present invention.

The computer readable storage medium can be a tangible device that canretain and store instructions for use by an instruction executiondevice. The computer readable storage medium may be, for example, but isnot limited to, an electronic storage device, a magnetic storage device,an optical storage device, an electromagnetic storage device, asemiconductor storage device, or any suitable combination of theforegoing. A non-exhaustive list of more specific examples of thecomputer readable storage medium includes the following: a portablecomputer diskette, a hard disk, a random access memory (RAM), aread-only memory (ROM), an erasable programmable read-only memory (EPROMor Flash memory), a static random access memory (SRAM), a portablecompact disc read-only memory (CD-ROM), a digital versatile disk (DVD),a memory stick, a floppy disk, a mechanically encoded device such aspunch-cards or raised structures in a groove having instructionsrecorded thereon, and any suitable combination of the foregoing. Acomputer readable storage medium, as used herein, is not to be construedas being transitory signals per se, such as radio waves or other freelypropagating electromagnetic waves, electromagnetic waves propagatingthrough a waveguide or other transmission media (e.g., light pulsespassing through a fiber-optic cable), or electrical signals transmittedthrough a wire.

Computer readable program instructions described herein can bedownloaded to respective computing/processing devices from a computerreadable storage medium or to an external computer or external storagedevice via a network, for example, the Internet, a local area network, awide area network and/or a wireless network. The network may comprisecopper transmission cables, optical transmission fibers, wirelesstransmission, routers, firewalls, switches, gateway computers and/oredge servers. A network adapter card or network interface in eachcomputing/processing device receives computer readable programinstructions from the network and forwards the computer readable programinstructions for storage in a computer readable storage medium withinthe respective computing/processing device.

Computer readable program instructions for carrying out operations ofthe present invention may be assembler instructions,instruction-set-architecture (ISA) instructions, machine instructions,machine dependent instructions, microcode, firmware instructions,state-setting data, configuration data for integrated circuitry, oreither source code or object code written in any combination of one ormore programming languages, including an object oriented programminglanguage such as Smalltalk, C++, or the like, and procedural programminglanguages, such as the “C” programming language or similar programminglanguages. The computer readable program instructions may executeentirely on the user's computer, partly on the user's computer, as astand-alone software package, partly on the user's computer and partlyon a remote computer or entirely on the remote computer or server. Inthe latter scenario, the remote computer may be connected to the user'scomputer through any type of network, including a local area network(LAN) or a wide area network (WAN), or the connection may be made to anexternal computer (for example, through the Internet using an InternetService Provider). In some embodiments, electronic circuitry including,for example, programmable logic circuitry, field-programmable gatearrays (FPGA), or programmable logic arrays (PLA) may execute thecomputer readable program instructions by utilizing state information ofthe computer readable program instructions to personalize the electroniccircuitry, in order to perform aspects of the present invention.

Aspects of the present invention are described herein with reference toflowchart illustrations and/or block diagrams of methods, apparatus(systems), and computer program products according to embodiments of theinvention. It will be understood that each block of the flowchartillustrations and/or block diagrams, and combinations of blocks in theflowchart illustrations and/or block diagrams, can be implemented bycomputer readable program instructions.

These computer readable program instructions may be provided to aprocessor of a general purpose computer, special purpose computer, orother programmable data processing apparatus to produce a machine, suchthat the instructions, which execute via the processor of the computeror other programmable data processing apparatus, create means forimplementing the functions/acts specified in the flowchart and/or blockdiagram block or blocks. These computer readable program instructionsmay also be stored in a computer readable storage medium that can directa computer, a programmable data processing apparatus, and/or otherdevices to function in a particular manner, such that the computerreadable storage medium having instructions stored therein comprises anarticle of manufacture including instructions which implement aspects ofthe function/act specified in the flowchart and/or block diagram blockor blocks.

The computer readable program instructions may also be loaded onto acomputer, other programmable data processing apparatus, or other deviceto cause a series of operational steps to be performed on the computer,other programmable apparatus or other device to produce a computerimplemented process, such that the instructions which execute on thecomputer, other programmable apparatus, or other device implement thefunctions/acts specified in the flowchart and/or block diagram block orblocks.

The flowchart and block diagrams in the Figures illustrate thearchitecture, functionality, and operation of possible implementationsof systems, methods, and computer program products according to variousembodiments of the present invention. In this regard, each block in theflowchart or block diagrams may represent a module, segment, or portionof instructions, which comprises one or more executable instructions forimplementing the specified logical function(s). In some alternativeimplementations, the functions noted in the blocks may occur out of theorder noted in the Figures. For example, two blocks shown in successionmay, in fact, be executed substantially concurrently, or the blocks maysometimes be executed in the reverse order, depending upon thefunctionality involved. It will also be noted that each block of theblock diagrams and/or flowchart illustration, and combinations of blocksin the block diagrams and/or flowchart illustration, can be implementedby special purpose hardware-based systems that perform the specifiedfunctions or acts or carry out combinations of special purpose hardwareand computer instructions.

The descriptions of the various embodiments of the present disclosurehave been presented for purposes of illustration, but are not intendedto be exhaustive or limited to the embodiments disclosed. Manymodifications and variations will be apparent to those of ordinary skillin the art without departing from the scope and spirit of the describedembodiments. The terminology used herein was chosen to explain theprinciples of the embodiments, the practical application or technicalimprovement over technologies found in the marketplace, or to enableothers of ordinary skill in the art to understand the embodimentsdisclosed herein.

What is claimed is:
 1. A system for creating differentiated augmentedreality settings comprising: a memory; and a processor in communicationwith the memory, wherein the computer system is configured to perform amethod, the method comprising: identifying a first cohort associatedwith a first user, wherein the first cohort is a group of augmentedreality users; generating a first virtual object according to the firstcohort; generating a first augmented reality setting of a location inrelation to the first user; determining a context of the location; andmodifying the first virtual object in the first augmented realitysetting according to the context and the first cohort.
 2. The system ofclaim 1, wherein the first cohort is selected from a group consisting ofa social network, a user characteristic, and a group determinedaccording to geographic proximity.
 3. The system of claim 2, wherein thefirst cohort is based on a user characteristic that describes acognitive or physical challenge faced by the user.
 4. The system ofclaim 1, wherein the method further comprises: detecting a second userin proximity to the first user, the second user associated with a secondaugmented reality setting having a second virtual object; predicting aninconsistency between the first and second augmented reality settings;and regularizing the first and second virtual objects according to thepredicted inconsistency.
 5. The system of claim 1, wherein the contextis selected from a group consisting of a location elevation, a locationaltitude, weather associated with the location, a terraincharacteristic, a current time of day, and a level of illumination. 6.The system of claim 1, further comprising an infrared sensor, whereinthe infrared sensor provides additional context information of thelocation when the level of illumination falls below a predeterminedthreshold.
 7. The system of claim 1, further comprising a globalpositioning system, wherein the global positioning system providesadditional context information of the location.
 8. The system of claim1, wherein the first cohort is determined according to one selected froma group consisting of a user profile, a social network analysis,detection of an assistive technology, and a biometric sensor.
 9. Thesystem of claim 1, wherein the virtual object has a path and a speed.10. The system of claim 9, wherein the path and the speed of the firstvirtual object are determined according to the first cohort.
 11. Amethod of creating differentiated augmented reality settings comprising:identifying a first cohort associated with a first user; generating afirst virtual object according to the first cohort; generating a firstaugmented reality setting of a location in relation to the first user;determining a context of the location; modifying the first virtualobject in the first augmented reality setting according to the contextand the first cohort; detecting a second user in proximity to the firstuser, the second user associated with a second augmented reality settinghaving a second virtual object; predicting an inconsistency between thefirst and second augmented reality settings; and regularizing the firstand second virtual objects according to the predicted inconsistency. 12.The method of claim 11, further comprising dispatching a drone, whereinthe drone provides additional context of the location.
 13. The method ofclaim 11, further comprising: generating additional virtual objects; andpositioning the additional virtual objects in the first augmentedreality setting according to the context and the first cohort.
 14. Themethod of claim 11, further comprising determining that the user istraveling along a course and wherein modifying the virtual object isfurther according to a checkpoint associated with the course.
 15. Themethod of claim 11, further comprising obtaining historical dataassociated with the location and the first cohort and wherein modifyingthe first virtual object in the first augmented reality setting isfurther according to the historical data.
 16. A computer program productfor creating differentiated augmented reality settings, the computerprogram product comprising a computer readable storage medium havingprogram instructions embodied therewith, wherein the computer readablestorage medium is not a transitory signal per se, the programinstructions executable by a processor to perform a method comprising:identifying a first cohort associated with a first user, wherein thefirst cohort is based on a user characteristic that describes acognitive or physical challenge faced by the user; generating a firstvirtual object according to the first cohort; generating a firstaugmented reality setting of a location in relation to the first user;determining a context of the location; and modifying the first virtualobject in the first augmented reality setting according to the contextand the first cohort.
 17. The computer program product of claim 16,wherein the method further comprises: detecting a second user inproximity to the first user, the second user associated with a secondaugmented reality setting having a second virtual object; predicting aninconsistency between the first and second augmented reality settings;and regularizing the first and second virtual objects according to thepredicted inconsistency.